#!/bin/sh

set -e

# When you move, remove or rename generated files, you probably also update
# .gitignore and cleaning rules in the Makefile. This is the right thing
# to do. However, people usually do 'git pull', 'git bisect', etc. without
# running 'make clean'. Then, the stale generated files are left over, often
# causing build issues.
#
# Also, 'git status' shows such stale build artifacts as untracked files.
# What is worse, some people send a wrong patch to get them back to .gitignore
# without checking the commit history.
#
# So, when you (re)move generated files, please move the cleaning rules from
# the Makefile to this script. This is run before Kbuild starts building
# anything, so people will not be annoyed by such garbage files.
#
# This script is not intended to grow endlessly. Rather, it is a temporary scrap
# yard. Stale files stay in this file for a while (for some release cycles?),
# then will be really dead and removed from the code base entirely.

rm -f arch/powerpc/purgatory/kexec-purgatory.c
rm -f arch/riscv/purgatory/kexec-purgatory.c
rm -f arch/x86/purgatory/kexec-purgatory.c

rm -f scripts/extract-cert

rm -f scripts/kconfig/[gmnq]conf-cfg

rm -f rust/target.json

rm -f scripts/bin2c

rm -f .scmversion

rm -rf include/ksym

find . -name '*.usyms' | xargs rm -f
